/**
 * SSE 路由模块（需要认证）
 * 处理服务器发送事件的 API 端点 - 仅包含需要认证的路由
 */

const express = require('express');
const router = express.Router();
const SSEController = require('../controllers/sseController');
const { authenticateToken } = require('../middlewares/authMiddleware');

// SSE 连接端点（所有路由现在都需要认证）

router.get('/connect/auth', authenticateToken, SSEController.connectAuthenticated);

// 消息发送和管理端点（需要认证）

router.post('/send', authenticateToken, SSEController.sendToUser);

// 广播消息给所有连接（需要认证）
router.post('/broadcast', authenticateToken, SSEController.broadcast);

// 获取 SSE 连接统计信息
router.get('/stats', authenticateToken, SSEController.getStats);

// 获取特定用户的连接信息
router.get('/users/:userId/connections', authenticateToken, SSEController.getUserConnections);

// 断开特定用户的所有连接
router.post('/users/:userId/disconnect', authenticateToken, SSEController.disconnectUser);

module.exports = router;